package com.ruoyi.edh.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.SearchEntity;

/**
 * 易订购-退回退货对象 edh_return_goods
 *
 * @author xxx
 * @date 2020-09-03
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("易订购-退回退货")
public class EdhReturnGoods extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty("${comment}")
    private Long id;

    /**
     * 退回单号
     */
    @Excel(name = "退回单号")
    @ApiModelProperty("退回单号")
    private String returnNo;

    /**
     * 订单id
     */
    @Excel(name = "订单id")
    @ApiModelProperty("订单id")
    private Long orderId;

    /**
     * 退款类型 1退款退货/2换货
     */
    @Excel(name = "退款类型 1退款退货/2换货")
    @ApiModelProperty("退款类型 1退款退货/2换货")
    private String returnType;

    /**
     * 退回原因
     */
    @Excel(name = "退回原因")
    @ApiModelProperty("退回原因")
    private String returnReason;

    /**
     * 取消原因
     */
    @Excel(name = "取消原因")
    @ApiModelProperty("取消原因")
    private String cancelReason;

    /**
     * 退回证明
     */
    @Excel(name = "退回证明")
    @ApiModelProperty("退回证明")
    private String certificate;

    /**
     * 退回数量
     */
    @Excel(name = "退回数量")
    @ApiModelProperty("退回数量")
    private Long returnNumber;

    /* 0 待审核 1 退货中 2拒绝 3已完成*/
    /**
     * 卖家审核 0待审核/1审核通过/2审核不通过
     */
    @Excel(name = "卖家审核 0待审核/1审核通过/2审核不通过")
    @ApiModelProperty("卖家审核 0待审核/1审核通过/2审核不通过")
    private String isAudit;

    /**
     * 审核人员
     */
    @Excel(name = "审核人员")
    @ApiModelProperty("审核人员")
    private Long auditUser;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("审核时间")
    private Date auditTime;

    /**
     * 审核原因
     */
    @Excel(name = "审核原因")
    @ApiModelProperty("审核原因")
    private String auditReason;

    /**
     * 物流类型
     */
    @Excel(name = "物流类型")
    @ApiModelProperty("物流类型")
    private String emsType;

    /**
     * 退回物流单号
     */
    @Excel(name = "退回物流单号")
    @ApiModelProperty("退回物流单号")
    private String emsNo;

    /**
     * 退回状态 0卖家未收到货物/1卖家已收到货物
     */
    @Excel(name = "退回状态 0卖家未收到货物/1卖家已收到货物")
    @ApiModelProperty("退回状态 0卖家未收到货物/1卖家已收到货物")
    private String returnStatus;

    /**
     * 收货人
     */
    @Excel(name = "收货人")
    @ApiModelProperty("收货人")
    private Long returnUser;

    /**
     * 收货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("收货时间")
    private Date returnTime;

    /**
     * 收货备注
     */
    @Excel(name = "收货备注")
    @ApiModelProperty("收货备注")
    private String returnRemake;

    /**
     * 是否退款 0未退款/1退款中/2已退款
     */
    @Excel(name = "是否退款 0未退款/1退款中/2已退款")
    @ApiModelProperty("是否退款 0未退款/1退款中/2已退款")
    private String isRefund;

    /**
     * 换货物流单号
     */
    @Excel(name = "换货物流单号")
    @ApiModelProperty("换货物流单号")
    private String replaceEmsNo;

    /**
     * 取消时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("取消时间")
    private Date cancelTime;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    @ApiModelProperty("用户id")
    private String userId;

    /**
     * 是否退运费 0否 1是
     */
    @Excel(name = "是否退运费 0否 1是")
    @ApiModelProperty("是否退运费 0否 1是")
    private Integer refundFreight;

    /**
     * 删除状态
     */
    @ApiModelProperty("是否退运费 0否 1是")
    private Integer delFlag;


}
